package com.fypg.module.blooddonation.api.client.service.dictionary;

import com.fypg.module.blooddonation.api.client.dal.bloodPlatform.DictDownloadResp;

/**
 * 字典服务接口
 * 提供字典下载、缓存管理等功能
 *
 * @author 系统生成
 */
public interface DictionaryService {

    /**
     * 下载字典（带缓存）
     *
     * @param dictionaryKey 字典键
     * @param orgUuid 机构UUID
     * @return 字典响应
     * @ 当接口调用失败时抛出异常
     */
    DictDownloadResp downloadDictionary(String dictionaryKey, String orgUuid) ;

    /**
     * 获取证件类型字典
     *
     * @param orgUuid 机构UUID
     * @return 字典响应
     * @ 当接口调用失败时抛出异常
     */
    DictDownloadResp getIdentityTypeDict(String orgUuid) ;

    /**
     * 获取检测总结论字典
     *
     * @param orgUuid 机构UUID
     * @return 字典响应
     * @ 当接口调用失败时抛出异常
     */
    DictDownloadResp getTestFinalResultDict(String orgUuid) ;

    /**
     * 获取教育程度字典
     *
     * @param orgUuid 机构UUID
     * @return 字典响应
     * @ 当接口调用失败时抛出异常
     */
    DictDownloadResp getEducationDict(String orgUuid) ;

    /**
     * 清理字典缓存
     *
     * @param dictionaryKey 字典键
     */
    void clearDictCache(String dictionaryKey, String orgUuid);

    /**
     * 清理所有字典缓存
     */
    void clearAllDictCache();
}
